﻿/// <reference path="jquery-1.5.1-vsdoc.js" />
/// <reference path="jquery-ui-1.8.11.js" />

$(document).ready(function () {

    //    $(":input[data-autocomplete]").each(function () {
    //        $(this).autocomplete({
    //            source: $(this).attr("data-autocomplete"),
    //            select: function (event, ui) {
    //                $("#" + $(this).attr("targetid")).val(ui.item.id)
    //            }
    //        });
    //    });




//        $("#articleType").change(function () {
//            var typeids = split($("#articleTypeIDs").val());
//            // remove the current input
//            typeids.pop();
//            // add the selected item

//            var str = "";
//            var idss = "";
//            $("#articleType option:selected").each(function () {
//                str = $(this).text() + " ";
//                idss = $(this).val();
//            });

//            if (idss != '' && !contains(typeids, idss)) {
//                typeids.push(idss);
//            }
//            // add placeholder to get the comma-and-space at the end
//            typeids.push("");
//            $("#articleTypeNames").append(str + "|" + idss + ", ");
//            $("#articleTypeIDs").val(typeids.join(","));

    //        });



    $("select[textTargetID]").each(function () {
        $(this).change(function () {
            var typeids = split($("#" + $(this).attr("valueTargetID")).val());
            // remove the current input
            typeids.pop();
            // add the selected item attr("special")

            var str = "";
            var idss = "";
            $("#" + $(this).attr("id") + " option:selected").each(function () {
                str = $(this).text() + " ";
                idss = $(this).val();
            });

            
            if (idss != '' && !contains(typeids, idss)) {
                typeids.push(idss);
                typeids.push("");
                $("#" + $(this).attr("textTargetID")).append(str + "|" + idss + ", ");
                $("#" + $(this).attr("valueTargetID")).val(typeids.join(","));
            }
       //   add placeholder to get the comma-and-space at the end
           

        });
    });


    




    $(":input[data-autocomplete]").bind("keydown", function (event) {
        if (event.keyCode === $.ui.keyCode.TAB &&
                        $(this).data("autocomplete").menu.active) {
            event.preventDefault();
        }
    });

    function split(val) {
        return val.split(/,\s*/);
    }
    function extractLast(term) {
        return split(term).pop();
    }

    function contains(arr, obj) {
        var i = arr.length;
        while (i--) {
            if (arr[i] == obj) {
                return true;
            }
        }
        return false;
    }

    $(":input[data-autocomplete]").each(function () {
        $(this).autocomplete({
            source: $(this).attr("data-autocomplete"),

            search: function () {
                // custom minLength
                var flag = $(this).attr("multiple-line");
                if (flag == 'many') {
                    var term = extractLast(this.value);
                    if (term.length < 1) {
                        return false;
                    }
                }
            },
            focus: function () {
                // prevent value inserted on focus
                return false;
            },
            select: function (event, ui) {
                var flag = $(this).attr("multiple-line");
                if (flag == 'many') {

                    var terms = split(this.value);
                    var ids = split($("#" + $(this).attr("targetid")).val());
                    // remove the current input
                    terms.pop();
                    ids.pop();
                    // add the selected item
                    terms.push(ui.item.value);

                    if (ui.item.id != '0' && !contains(ids, ui.item.id)) {
                        ids.push(ui.item.id);
                    }

                    // add placeholder to get the comma-and-space at the end
                    terms.push("");
                    ids.push("");

                    this.value = terms.join(", ");
                    $("#" + $(this).attr("targetid")).val(ids.join(","));
                    return false;
                } else {
                   
                    //$("#" + $(this).attr("targetid")).val(flag);
                    $("#" + $(this).attr("targetid")).val(ui.item.id);
                }

            }
        });
    });



    //dialog
    $(document).ready(function () {
        $(".openDialog").live("click", function (e) {
            e.preventDefault();

            $("<div></div>")
                .addClass("dialog")
                .attr("id", $(this).attr("data-dialog-id"))
                .appendTo("body")
                .dialog({
                    width: 250,
                    height: 100,
                    resizable: false,
                    title: $(this).attr("data-dialog-title"),
                    close: function () { $(this).remove() },
                    modal: true
                })
                .load(this.href);

        });

        $(".close").live("click", function (e) {
            e.preventDefault();
            $(this).closest(".dialog").dialog("close");
        });
    });


   
//        $('.submit').click(function () {

//            $("<div></div>")
//                .addClass("dialog")
//                .attr("id", "testDialog")
//                .appendTo("body")
//                .dialog({
//                    width: 250,
//                    height: 100,
//                    resizable: false,
//                    title: $(this).attr("data-dialog-title"),
//                    close: function () { $(this).remove() },
//                    modal: true
//                })
//        });
//        $('#confirmation-dialog').dialog({
//            autoOpen: false, width: 400, resizable: false, modal: true, //Dialog options
//            buttons: {
//                "Continue": function () {
//                    $(this).dialog('close');
//                    var form = $('transferForm', this);
//                    $(form).submit();
//                    return true;
//                },

//                "Cancel": function () {
//                    $(this).dialog("close");
//                    return false;
//                }
//            }
//        });
   


});